const app=getApp()
const util =require( "../../utils/utilxx");
const moduleExample =require( "../../utils/public");
let shouchangState=false;
Page({
    data: {
        myStarImgUrl:"",
        myLikeImgUrl:"",
        show:false,
    },


    // 0.1---提醒登陆的弹出层
    // (1)控制弹出层的关闭/隐藏：
      onClose() {
        this.setData({ show: false });
      },
    // (2)button绑定的获取用户信息事件：
    getuserInfo(){
        wx.getUserProfile({
            desc: '获取用户必要的信息',
            success: (res) => {
                this.setData({ show: false }),
                app.globalData.userInfo=res.userInfo,
                // console.log(res.userInfo), 
                wx.showToast({
                    title: '授权成功',
                    icon:"success"
                  })
            }
        })      
    }, 


    // 1.点击收藏图标-触发收藏：
    starClick(e){
        // 模仿点赞方式来写：
        if(app.globalData.userInfo==null){
            this.setData({ show: true });
        } 
        else{
            var that=this
            var startag=false
            // 2.1 先【查询】then【获取当前整个数据列表/记录(get)】————doc即（通过e.currentTarget.dataset.index）【查询】定位到当前帖子
            wx.cloud.database().collection("yizhu-Info").doc(e.currentTarget.dataset.index).get({
                success(res){
                    //2.1.0 先判断之前是否收藏过：
                    // ★★★ res.data就是查询到的帖子的整个记录/列表信息。循环遍历语句这里使用的item即代指前面的res.data.likeList
                    var starIndex
                    for(var l in res.data.starList){
                        if(res.data.starList[l]== app.globalData.openid){
                            startag=true
                            starIndex=l
                            break
                        }
                    }

                    console.log("测试",startag)
                    //Ⅰ.若之前未收藏过（通过openid查询）,再次点击——【添加收藏记录】
                    if(!startag){
                        // ★★★ res.data就是查询到的帖子的整个记录/列表信息。
                        res.data.starList.push(app.globalData.openid)
                        console.log("starClick()事件-之前未收藏过-当前收藏列表(starList)信息：",res.data.starList)
                        //2.2 update【更新】操作
                        wx.cloud.database().collection("yizhu-Info").doc(e.currentTarget.dataset.index).update({
                            data:{
                                starList:res.data.starList
                            },
                            success(res){ 
                                that.getDongtaiLists();
                                that.getShouChangDongtaiLists()
                        }
                        })
                    }else{     
                    //Ⅱ.若之前已收藏过（通过openid查询），再次点击——【删除】收藏记录
                    res.data.starList.splice(starIndex,1)
                    wx.cloud.database().collection("yizhu-Info").doc(e.currentTarget.dataset.index).update({
                        data:{
                            starList: res.data.starList
                        },
                        success(res){       
                            console.log("starClick()事件-之前已收藏过,当前返回的资源res:",res)
                            that.getDongtaiLists();
                            that.getShouChangDongtaiLists()
                        }
                     }) 
                    }
                }
            })
            shouchangState=!shouchangState
        }
    },


    // 3.点击动态内容跳转至详情页：
    toDetail(e){
        // 将e.currentTarget.dataset.index上传至/存在-全局文件app.js中的app.globalData.currentTargetTieZiId
        app.globalData.currentTargetTieZiId=e.currentTarget.dataset.index,
        // console.log("toDetail(e)-e.currentTarget.dataset.index:",e.currentTarget.dataset.index)
        wx.navigateTo({
            url:"/pages/yizhudetail/yizhudetail"
        })
        
    },
    
    // 4.删除动态：
    deleteDongTai(event){
        // console.log("已触发删除动态-deleteDongTai事件，目前event.currentTarget.dataset.id携带数据为：",event.currentTarget.dataset.id)
        var that=this
        wx.showModal({
            title: '提示',
            content: '是否确定删除记录？',
            confirmColor:"	#3CB371", 
            cancelColor:"#696969",
            success (res) {
              if (res.confirm) {
                console.log('用户点击确定')       
                    wx.cloud.database().collection("yizhu-Info").doc(event.currentTarget.dataset.id).remove({
                        success(res){
                            console.log(res) 
                            wx.showToast({
                            title: '删除成功！',
                            }) 
                            // 删除成功后需要重新刷新页面
                            that.getDongtaiLists()
                        }
                    })
              } else if (res.cancel) {
                console.log('用户点击取消')
              }
            }
          })
    }, 

    // 获取(当前luntan页面从云数据库获取到的)所有的帖子列表————从云数据库中请求所有的数据(以便wxml渲染将其显示出来)，这里注意orderBy('posttime','desc')表示--按发布时间posttime的倒序(desc)显示，asc正序
    getDongtaiLists(){
        var that=this
        wx.cloud.database().collection("yizhu-Info").orderBy('posttime','desc').where({
            _openid:app.globalData.openid
        }).get({
            success(res){ 
                console.log("getDongtaiLists()- success(res)成功了!")
                 //转换时间格式：
                res.data.forEach(item=>{
                  item.posttime=util.formatTime(new Date(item.posttime));
                  // 正文超过250字就省略部分...
                //   item.detailValue=moduleExample.getMyTitle(item.detailValue,250) 
                })
 
                // 在每次刷新时都保证原有的时间格式：  
                var list=res.data
                for(var l in list){
                    for(var j in list[l].commentList){    
                        list[l].commentList[j].time=util.formatTime(new Date( list[l].commentList[j].time));    
                    }
                }
                  // 在每次刷新时都保证原有的收藏状态：  
                  for(var m in list){
                    for(var t in list[m].starList){
                        if(list[m].starList[t]==app.globalData.openid){
                            // 若检测到starList列表有当前用户id，会新增一个isStar属性：
                            list[m].isStar=true
                        }else{
                            list[m].isStar=false
                        }
                   }
                 }
               
                console.log("getDongtaiLists()事件-当前luntan页面从云数据库获取到的yizhu-Info数据，即res.data有：",res.data)
                that.setData({
                    // 把当前luntan页面从云数据库获取到的yizhu-Info数据（数组）存到名为“ tieziLists ”数组里
                    tieziLists: res.data
                })
            }
        })
    }, 

    onChange(event) {
            this.onShow(); 
      },


    // 获取收藏的动态列表：
    getShouChangDongtaiLists(){
        var that=this
        wx.cloud.database().collection("yizhu-Info").orderBy('posttime','desc').where({
            _openid:app.globalData.openid,
            starList:app.globalData.openid
        }).get({
            success(res){ 
                 //转换时间格式：
                res.data.forEach(item=>{
                  item.posttime=util.formatTime(new Date(item.posttime));
                  // 正文超过250字就省略部分...
                  item.detailValue=moduleExample.getMyTitle(item.detailValue,250)
                })

                // console.log("getDongtaiLists()- 转换时间格式成功了!")
             
                // 在每次刷新时都保证原有的时间格式：  
                var list=res.data
                for(var l in list){
                    for(var j in list[l].commentList){    
                        list[l].commentList[j].time=util.formatTime(new Date( list[l].commentList[j].time));    
                    }
                }
                  // 在每次刷新时都保证原有的收藏状态：  
                  for(var m in list){
                    for(var t in list[m].starList){
                        if(list[m].starList[t]==app.globalData.openid){
                            // 若检测到starList列表有当前用户id，会新增一个isStar属性：
                            list[m].isStar=true
                        }else{
                            list[m].isStar=false
                        }
                   }
                 }
                
                console.log("getShouChangDongtaiLists()事件-当前luntan页面从云数据库获取到【收藏】的yizhu-Info数据，即res.data有：",res.data)
                that.setData({
                    // 把当前luntan页面从云数据库获取到的yizhu-Info数据（数组）存到名为“ tieziLists ”数组里
                    tieziStarLists: res.data
                })
            }
        })
    },

    // 5.每次显示页面：
    onShow(){
        var that=this
 
        // 5.1 设置一个延时——2s之后再把【app.js全局文件中的onload方法】获取到的当前登录用户的全局app.globalData.openid赋值给myOpenid再判断相等不等，不然同时的话，这边获取的app.globalData.openid就显示为空 
        setTimeout(function(){
            console.log("onShow()事件-论坛页面打印信息：目前获取到的当前登录用户的全局app.globalData.openid是：",app.globalData.openid)
            that.setData({
                myOpenid:app.globalData.openid
            })
        },1000)
       

        // 5.2 每次显示此页面，都将调用自定义方法——getDongtaiLists()——从云数据库中请求所有的数据(以便wxml渲染将其显示出来)
       that.getDongtaiLists()
       that.getShouChangDongtaiLists()
    },

    // 6.删除评论：
    deleteComment(event){
        var that=this
        // event.currentTarget.dataset.id是帖子的id,event.currentTarget.dataset.index是具体特定的评论的Id
        // console.log(event.currentTarget.dataset.index)
        wx.showModal({
            title: '提示',
            content: '是否确定删除备注？',
            confirmColor:"	#3CB371",
            cancelColor:"#696969",
            success (res) {
              if (res.confirm) {
                console.log('用户点击确定')       
                    var deleCommentIndex=event.currentTarget.dataset.index
                    wx.cloud.database().collection("yizhu-Info").doc(event.currentTarget.dataset.id).get({
                        success(res){
                            res.data.commentList.splice(deleCommentIndex,1)
                            wx.cloud.database().collection("yizhu-Info").doc(event.currentTarget.dataset.id).update({
                                data:{
                                    commentList:res.data.commentList
                                },
                                success(res){
                                    wx.showToast({
                                    title: '删除成功！',
                                    })
                                    that.getDongtaiLists()
                                    that.onShow()
                                }
                            })
                        }
                    })
              } else if (res.cancel) {
                console.log('用户点击取消')
              }
            }
          })
    },

    //7.放大预览图片：
    previewImg(e){
        var that=this;
        console.log(e.currentTarget.dataset.src)
        wx.cloud.database().collection("yizhu-Info").where({
            _openid:app.globalData.openid,
            images:e.currentTarget.dataset.src
        }).get({
            success(res){
               console.log(res.data[0].images)
            
                wx.previewImage({
                    current:e.currentTarget.dataset.src,
                    urls:res.data[0].images,
                  })
             }
        })
    },
 
    // 8.打开微信信息地图详情-openLocation()
    openLocation(e){
        console.log(e.currentTarget.dataset.index)
        var that =this;
        wx.cloud.database().collection("yizhu-Info").doc(e.currentTarget.dataset.index).get({
            success(res){
                console.log("openLocation()-当前帖子经度：",res.data.latitude)
                wx.openLocation({
                    latitude:res.data.latitude,
                    longitude:res.data.longitude,
                })
                }
            })
    }
})